Increasing the efficiency of modern manufacturing processes is a complex problem. Typically, a large but finite group of resources, such as machines in a facility, are available to perform operations on materials or groups of materials. In order to cost-effectively produce the most usable items in the shortest time, it is important to keep expensive assets, such as machinery, in useful operation for as much of the time as possible. Scheduling the processing of materials on the machines in a way that optimizes efficiency is therefore an important task. The variables involved in the manufacturing scheduling process include, but are not limited to, the fact that the machines usually have different capabilities and/or functions, and that the materials usually become available in different quantities at different times. Making the manufacturing process more efficient involves solving a complex problem including these multiple variables. In addition, the variables are subject to change at any time. For example, machines may suddenly become unavailable, or material flow may become interrupted.
FIG. 1 is a flow diagram that illustrates a process flow in an existing manufacturing facility. The example illustrated in FIG. 1 is a typical process flow for existing semiconductor wafer fabrication plants. FIG. 1 depicts the scope 102 and horizon 112 for the planning, goaling, scheduling and dispatching problems that occur in typical, known semiconductor manufacturing operations. The scope scale 102 shows the product plan as it progresses from several fabs 104 to areas in a single fab 106 to tools (or “processing stations”) and lots (or “workunits”) in an area 108 to one or more lots on a given tool 110. As used herein, “fab” indicates a fabrication facility, and also as an alternative term to “fabrication.” The rolling horizon 112 progresses from a planning horizon 114, to a time period of weeks 116, to less than one day 118, and then to current clock time 120. During each of these four main scope definitions and event horizons, the planning process progresses from central planning in all fabs (for which the scope is several fabs 104), to fab-level planning and goaling (for which the scope is a single fab 106 and the horizon is weeks 116), to scheduling and re-scheduling (for which the scope is processing stations and workunits in the fab 108 and the horizon is less than one day 118), and then to dispatching (for which the scope is a single processing station 10 and the horizon is current clock time 120). As shown in FIG. 1, the typical method of assigning one or more workunits (e.g. wafers or wafer lots) to a given processing station 110 in real time (current clock time 120) is by dispatching. A majority of semiconductor manufacturers use dispatching to implement heuristic rules that try to circumvent the need for optimal scheduling. In general, dispatching is a real-time solution, primarily due to the narrow scope of the problem. However, it typically does not find an optimal solution. Instead, dispatching is a localized problem solution that looks at each machine individually. Moreover, dispatching typically relies on operator control and the use of common practices, which require human decision-making processes, and thus does not facilitate factory automation.